var dRegEx = /^\d+$/
var nameRegEx = /^[א-ת]+$|[א-ת]+\s+[א-ת]+$/
var emailRegEx = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|co.il|org.il|gov.il|tv|fm|))$/
function edit_user_details_validation(){
    var contact_name = document.getElementById('contact_name').value;
    var phone = document.getElementById('phone').value;
    var phone_type = document.getElementById('phone_type').value;
    var second_phone = document.getElementById('second_phone').value;
    var second_phone_type = document.getElementById('second_phone_type').value;    
    var password_old = document.getElementById('password_old').value;
    var password = document.getElementById('password').value;
    var password2 = document.getElementById('password2').value;        
    
    if(!Check_Contact_Name(contact_name,'contact_name_message','contact_name')){
        return false;
    }
    else if(!Check_Phone(phone,phone_type,'phone_message','phone','phone_type')){
        return false;
    }
    else if(!Check_Second_Phone(second_phone,second_phone_type,'second_phone_message','second_phone','second_phone_type')){
        return false;
    }
    else if(password_old!='' || password!='' || password2!=''){
        if(!Check_Password(password_old,'password_old_message','password_old')){
            return false;
        }
        else if(!Check_Password(password,'password_message','password')){
            return false;
        }
        else if(!Check_Password2(password2,password,'password2_message','password','password2')){
            return false;
        }
    }
    else{
        return true;
    }
}
function edit_message_validation(){
	var message_vehicle_type = document.getElementById('message_vehicle_type').value;
    var message_name = document.getElementById('message_name').value;
    var message_note = document.getElementById('message_note').value;
    var message_area = document.getElementById('message_area').value;
    var message_phone = document.getElementById('message_phone').value;
    var message_phone_type = document.getElementById('message_phone_type').value;
    var message_second_phone = document.getElementById('message_second_phone').value;
    var message_second_phone_type = document.getElementById('message_second_phone_type').value;
    var message_contact_name = document.getElementById('message_contact_name').value;    
    var message_city = document.getElementById('message_city').value;    
    var message_company = document.getElementById('message_company').value;
    var message_year = document.getElementById('message_year').value;    
    var message_hand = document.getElementById('message_hand').value;
    var message_gear = document.getElementById('message_gear').value;
    var message_engine_capacity = document.getElementById('message_engine_capacity').value;
    var message_km = document.getElementById('message_km').value;    
    var message_price = document.getElementById('message_price').value;   
    var message_picture_1 = document.getElementById('message_picture_1').value;
    var message_picture_2 = document.getElementById('message_picture_2').value;
    var message_picture_3 = document.getElementById('message_picture_3').value;   
    var message_test_month = document.getElementById('message_test_month').value;   
    var message_test_year = document.getElementById('message_test_year').value;           
    
    var radio_new = false;
    var radio_exist = false;
    if(document.getElementById('radio_new') && document.getElementById('radio_exist')){
        var radio_new = document.getElementById('radio_new').checked;
        var radio_exist = document.getElementById('radio_exist').checked;        
    }
    
    if(message_vehicle_type!=8){
        if(!Check_Company(message_company,'message_company_message','message_company')){
            return false;
        }
        else if(!Check_Year(message_year,'message_year_message','message_year')){
            return false;
        }
        else if(!Check_Hand(message_hand,'message_hand_message','message_hand')){
            return false;
        }
        else if(!Check_Test(message_test_year,message_test_month,'message_test_message','message_test_year','message_test_month')){
            return false;
        }
    }
    if(message_vehicle_type==8){
        if(!Check_Company(message_company,'message_company_message','message_company')){
            return false;
        }
        else if(!Check_Message_Name(message_name,'message_name_message','message_name')){
            return false;
        }
    }
    
    if(message_vehicle_type!=8 && message_vehicle_type!=7){
        if(!Check_Gear(message_gear,'message_gear_message','message_gear')){
            return false;
        }
    }
    
    if(!Check_Area(message_area,'message_area_message','message_area')){
        return false;
    }   
    else if(!Textarea_Length(message_note,'message_note_message','message_note')){
        return false;
    }
    else if(!Check_Price(message_price,'message_price_message','message_price')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_1'),'message_picture_1_message','message_picture_1')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_2'),'message_picture_2_message','message_picture_2')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_3'),'message_picture_3_message','message_picture_3')){
        return false;
    }
    else if(!Check_Phone(message_phone,message_phone_type,'message_phone_message','message_phone','message_phone_type')){
        return false;
    }
    else if(!Check_Second_Phone(message_second_phone,message_second_phone_type,'message_second_phone_message','message_second_phone','message_second_phone_type')){
        return false;
    }
    else if(!Check_Contact_Name(message_contact_name,'message_contact_name_message','message_contact_name')){
        return false;
    }    
    else{
         viewProgerssBar();
        return true;
    }
}
function open_message_validation(){    
    var message_vehicle_type = document.getElementById('message_vehicle_type').value;
    var message_name = document.getElementById('message_name').value;
    var message_note = document.getElementById('message_note').value;
    var message_area = document.getElementById('message_area').value;
    var message_phone = document.getElementById('message_phone').value;
    var message_phone_type = document.getElementById('message_phone_type').value;
    var message_second_phone = document.getElementById('message_second_phone').value;
    var message_second_phone_type = document.getElementById('message_second_phone_type').value;
    var message_contact_name = document.getElementById('message_contact_name').value;    
    var message_city = document.getElementById('message_city').value;    
    var message_company = document.getElementById('message_company').value;
    var message_year = document.getElementById('message_year').value;    
    var message_hand = document.getElementById('message_hand').value;
    var message_gear = document.getElementById('message_gear').value;
    var message_engine_capacity = document.getElementById('message_engine_capacity').value;
    var message_km = document.getElementById('message_km').value;    
    var message_price = document.getElementById('message_price').value;   
    var message_picture_1 = document.getElementById('message_picture_1').value;
    var message_picture_2 = document.getElementById('message_picture_2').value;
    var message_picture_3 = document.getElementById('message_picture_3').value;   
    var message_test_month = document.getElementById('message_test_month').value;   
    var message_test_year = document.getElementById('message_test_year').value;           
    
    var radio_new = false;
    var radio_exist = false;
    if(document.getElementById('radio_new') && document.getElementById('radio_exist')){
        var radio_new = document.getElementById('radio_new').checked;
        var radio_exist = document.getElementById('radio_exist').checked;        
    }
    
    if(message_vehicle_type!=8){
        if(!Check_Company(message_company,'message_company_message','message_company')){
            return false;
        }
        else if(!Check_Year(message_year,'message_year_message','message_year')){
            return false;
        }
        else if(!Check_Hand(message_hand,'message_hand_message','message_hand')){
            return false;
        }
        else if(!Check_Test(message_test_year,message_test_month,'message_test_message','message_test_year','message_test_month')){
            return false;
        }
    }
    if(message_vehicle_type==8){
        if(!Check_Company(message_company,'message_company_message','message_company')){
            return false;
        }
        else if(!Check_Message_Name(message_name,'message_name_message','message_name')){
            return false;
        }
    }
    
    if(message_vehicle_type!=8 && message_vehicle_type!=7){
        if(!Check_Gear(message_gear,'message_gear_message','message_gear')){
            return false;
        }
    }
    
    if(!Check_Area(message_area,'message_area_message','message_area')){
        return false;
    }   
    else if(!Textarea_Length(message_note,'message_note_message','message_note')){
        return false;
    }
    else if(!Check_Price(message_price,'message_price_message','message_price')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_1'),'message_picture_1_message','message_picture_1')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_2'),'message_picture_2_message','message_picture_2')){
        return false;
    }
    else if(!CheckExtension(document.getElementById('message_picture_3'),'message_picture_3_message','message_picture_3')){
        return false;
    }
    else if(!Check_Phone(message_phone,message_phone_type,'message_phone_message','message_phone','message_phone_type')){
        return false;
    }
    else if(!Check_Second_Phone(message_second_phone,message_second_phone_type,'message_second_phone_message','message_second_phone','message_second_phone_type')){
        return false;
    }
    else if(!Check_Contact_Name(message_contact_name,'message_contact_name_message','message_contact_name')){
        return false;
    }
    else if(radio_new == true)
    {
        var message_email = (document.getElementById('message_email').value).toLowerCase();
        var password = document.getElementById('password').value;
        var password2 = document.getElementById('password2').value;

        if(!Check_Email(message_email,'message_email_message','message_email')){
            return false;
        }
        else if(!Check_Password(password,'password_message','password')){
            return false;
        }
        else if(!Check_Password2(password2,password,'password2_message','password','password2')){
            return false;
        }
    }
    else if(radio_exist == true){
        var  message_email_exist = (document.getElementById('message_email_exist').value).toLowerCase();
        var  password_exist = document.getElementById('password_exist').value;

        if(!Check_Email(message_email_exist,'message_email_message_exist','message_email_exist')){
            return false;
        }
        else if(!Check_Password(password_exist,'password_message_exist','password_exist')){
            return false;
        }
    }
    else if(((radio_exist != true) && (radio_new != true)) && document.getElementById('radio_new') && document.getElementById('radio_exist')){
        document.getElementById('select_radio_message').innerHTML ='<b>חובה לבחור סוג משתמש.</b>';         
        return false;
    }
    else{
         viewProgerssBar();
        return true;
    }
}

function register_validation(){
    var email = (document.getElementById('email').value).toLowerCase();
    var password = document.getElementById('password').value;
    password = (password).replace(/^\s*|\s*$/g,'');
    var password2 = document.getElementById('password2').value;
    password2 = (password2).replace(/^\s*|\s*$/g,'');
    var contact_name = document.getElementById('contact_name').value;
    contact_name = (contact_name).replace(/^\s*|\s*$/g,'');
    var phone = document.getElementById('phone').value;
    var phone_type = document.getElementById('phone_type').value;
    var second_phone = document.getElementById('second_phone').value;
    var second_phone_type = document.getElementById('second_phone_type').value;
    var checkbox_read = document.getElementById('checkbox_read').checked;

    if(!Check_Email(email,'email_message','email')){
        return false;
    }
    else if(!Check_Password(password,'password_message','password')){
        return false;
    }
    else if(!Check_Password2(password2,password,'password2_message','password','password2')){
        return false;
    }
    else if(!Check_Contact_Name(contact_name,'contact_name_message','contact_name')){
        return false;
    }
    else if(!Check_Phone(phone,phone_type,'phone_message','phone','phone_type')){
        return false;
    }
    else if(!Check_Second_Phone(second_phone,second_phone_type,'second_phone_message','second_phone','second_phone_type')){
        return false;
    }
    else if(checkbox_read==false)
    {
        document.getElementById('read_message_message').innerHTML ='יש לאשר את תנאי התקנון.';
        return false;
    }
    else{
        return true;
    }
}
function Check_Test(value,value2,obj_message,obj_name,obj_name2){
    if(value!='' && value2==''){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין חודש לטסט';
        document.getElementById(obj_name).focus();
        return false;    
    }
    else if(value=='' && value2!=''){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין שנה לטסט';
        document.getElementById(obj_name).focus();
        return false;    
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_name2).style.border="";
        return true;
    }
}
function Check_KM(value,obj_message,obj_name){
    if (value!="" && value.search(dRegEx) == -1){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='קילומטר חייב להיות מורכב מספרות בלבד.';
        document.getElementById(obj_name).focus();
        return false;       
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Engine_Capacity(value,obj_message,obj_name){
    if (value!="" && value.search(dRegEx) == -1){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='נפח מנוע חייב להיות מורכב מספרות בלבד.';
        document.getElementById(obj_name).focus();
        return false;       
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Textarea_Length(value,obj_message,obj_name){
    if(value.length > 400){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='אורך מקסימאלי של הטקסט הינו 400 תווים.';
        document.getElementById(obj_name).focus();
        return false;
    }else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Price(value,obj_message,obj_name){    
    if (value!="" && value.search(dRegEx) == -1){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='המחיר חייב להיות מורכב מספרות בלבד.';
        document.getElementById(obj_name).focus();
        return false;      
    }else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}

function Check_Message_Name(value,obj_message,obj_name){	
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין שם פריט.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Hand(value,obj_message,obj_name){	
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין יד.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Year(value,obj_message,obj_name){	
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין שנה.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Gear(value,obj_message,obj_name){	
    var message_vehicle_type = document.getElementById('message_vehicle_type').value;
    if(message_vehicle_type!=7){
        if(value==""){
            document.getElementById(obj_name).style.border="thin solid red";
            document.getElementById(obj_message).innerHTML ='יש להזין תיבת הילוכים.';
            document.getElementById(obj_name).focus();
            return false;
        }
        else{
            document.getElementById(obj_message).innerHTML='';
            document.getElementById(obj_name).style.border="";
            return true;
        }
    }
}
function Check_Company(value,obj_message,obj_name){	
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        var company = document.getElementById('company_span').innerHTML;
        document.getElementById(obj_message).innerHTML ='יש להזין '+company+'.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Model(value,obj_message,obj_name){	
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";        
        document.getElementById(obj_message).innerHTML ='יש להזין דגם.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Textarea_Length(value,obj_message,obj_name){
    if(value.length > 400){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='אורך מקסימאלי של הטקסט הינו 400 תווים.';
        document.getElementById(obj_name).focus();
        return false;
    }else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Password(value,obj_message,obj_name)
{
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין סיסמא.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value.length <4){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='אורך הסיסמא חייב להיות גדול משלוש תווים.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Password2(value,passwordValue,obj_message,obj_name,obj_name2)
{
    if(value=="")
    {
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין אימות סיסמא.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value!=passwordValue)
    {
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='שדה אימות סיסמא אינו זהה לשדה סיסמא.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else
    {
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_name2).style.border="";
        return true;
    }
}

function Check_Phone(value,typevalue,obj_message,obj_name,obj_name2){
    if(typevalue=="" && value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין מספר טלפון.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value.search(dRegEx) == -1){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="";
        document.getElementById(obj_message).innerHTML ='מספר טלפון חייב להכיל ספרות בלבד.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value.length <6){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="";
        document.getElementById(obj_message).innerHTML ='אורך מספר טלפון חייב להיות לפחות 6 ספרות.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if(typevalue=="" && value!=""){
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_message).innerHTML ='יש להזין קידומת למספר הטלפון.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_name2).style.border="";
        return true;
    }
}
function Check_Second_Phone(value,typevalue,obj_message,obj_name,obj_name2){
    if(typevalue!="" && value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="";
        document.getElementById(obj_message).innerHTML ='יש להזין מספר טלפון נוסף.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value.search(dRegEx) == -1 && value!=""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="";
        document.getElementById(obj_message).innerHTML ='מספר טלפון נוסף חייב להכיל ספרות בלבד.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value.length <6 && value!=""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_name2).style.border="";
        document.getElementById(obj_message).innerHTML ='אורך מספר טלפון נוסף חייב להיות לפחות 6 ספרות.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if(typevalue=="" && value!=""){
        document.getElementById(obj_name2).style.border="thin solid red";
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_message).innerHTML ='יש להזין קידומת למספר טלפון נוסף.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        document.getElementById(obj_name2).style.border="";
        return true;
    }
}
function Check_Contact_Name(value,obj_message,obj_name){
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין שם איש קשר.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if(value.search(nameRegEx) == -1){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='שם איש קשר חייב להיות באותיות בעברית בלבד.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if(value.length < 2){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='אורך מינימאלי לשדה שם איש קשר הינו 2 תווים לפחות.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Email(value,obj_message,obj_name){
    var value_lower = value.toLowerCase(); 
    if(value_lower==''){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין כתובת דואר אלקטרוני.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else if (value_lower.search(emailRegEx) == -1 && value!='')
    {
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='כתובת הדואר אלקטרוני שהוזנה אינה תקינה.';
        document.getElementById(obj_name).focus();
        return false;
    }
    
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function Check_Area(value,obj_message,obj_name){
    if(value==""){
        document.getElementById(obj_name).style.border="thin solid red";
        document.getElementById(obj_message).innerHTML ='יש להזין איזור.';
        document.getElementById(obj_name).focus();
        return false;
    }
    else{
        document.getElementById(obj_message).innerHTML='';
        document.getElementById(obj_name).style.border="";
        return true;
    }
}
function CheckExtension(file,file_message,file_name){
    var valid_extensions = /(.bmp|.png|.jpg|.jpeg|.gif)$/i;
    if (valid_extensions.test(file.value) || file.value==''){
        document.getElementById(file_message).innerHTML='';
        document.getElementById(file_name).style.border="";
        return true;
    }else{
        document.getElementById(file_name).style.border="thin solid red";
        document.getElementById(file_message).innerHTML ='סוג הקובץ הנבחר אינו חוקי.';
        document.getElementById(file_name).focus();
        return false;}
}